import axios from 'axios';


axios.defaults.withCredentials = true;//Cookie跨域

// 创建 Axios 实例
const service = axios.create({
    // 使用环境变量配置 baseURL
    baseURL: 'http://127.0.0.1:8080/api/', //本地前后端分离运行
    // baseURL: 'https://apifoxmock.com/m1/5420906-5095146-default'+ '/api/', // apifox模拟接口
    // baseURL: 'https://u307973-a9ae-48769e65.neimeng.seetacloud.com:6443', // GPU服务器开放端口
    timeout: 120000, // 设置请求超时时间
    withCredentials: true, // 异步请求携带cookie
});

// 请求拦截器
service.interceptors.request.use(
    (config) => {
        // 在请求发送前可以进行一些配置，例如添加认证信息等
        // config.headers['satoken'] = localStorage.getItem('satoken'); // 示例：添加认证信息

        return config;
    },
    (error) => {
        return Promise.reject(error);
    }
);

// 响应拦截器
import router from "@/router";

service.interceptors.response.use(
    (response) => {
        // 在响应返回后，可以进行一些处理，例如判断是否需要更新令牌等
        let data = response.data;
        if (data.code === 401) {
            // 未登录
            router.push("/login")
        }
        return data;
    },
    (error) => {
        // 处理响应错误
        return Promise.reject(error);
    }
);

export default service;
